/*********************************************************************
	Rhapsody	: 7.5 
	Login		: kbe
	Component	: DefaultComponent 
	Configuration 	: CodeConfig
	Model Element	: LF_EventHandler
//!	Generated Date	: Thu, 27, Sep 2012  
	File Path	: DefaultComponent\CodeConfig\LF_EventHandler.h
*********************************************************************/

#ifndef LF_EventHandler_H
#define LF_EventHandler_H

//#[ ignore
#ifdef _MSC_VER
// disable Microsoft compiler warning (debug information truncated)
#pragma warning(disable: 4786)
#endif
//#]

//## auto_generated
#include <oxf\oxf.h>
//## auto_generated
#include <string>
//## auto_generated
#include <algorithm>
//## auto_generated
#include "SOCK_WrapperFacade.h"
//## auto_generated
#include "Default.h"
//## class LF_EventHandler
#include "EventHandler.h"
//## auto_generated
class Reactor;

//## operation LF_EventHandler(Reactor*,EventHandler*,ThreadPool*,Event_Type)
class ThreadPool;

//## package Default

//## class LF_EventHandler
class LF_EventHandler : public EventHandler {
    ////    Friends    ////
    
    ////    Constructors and destructors    ////
    
public :

    //## operation LF_EventHandler(Reactor*,EventHandler*,ThreadPool*,Event_Type)
    LF_EventHandler(Reactor* reactor, EventHandler* eh, ThreadPool* tp, const Event_Type& et);
    
    //## auto_generated
    LF_EventHandler();
    
    //## auto_generated
    virtual ~LF_EventHandler();
    
    ////    Operations    ////
    
    //## operation handleEvent(HANDLE,Event_Type)
    virtual int handleEvent(HANDLE h, Event_Type& et);
    
    ////    Additional operations    ////
    
    //## auto_generated
    EventHandler* getItsEventHandler() const;
    
    //## auto_generated
    ThreadPool* getItsThreadPool() const;

protected :

    //## auto_generated
    void cleanUpRelations();
    
    ////    Relations and components    ////
    
    ThreadPool* itsThreadPool;		//## link itsThreadPool
    
    EventHandler* itsEventHandler;		//## link itsEventHandler
};

#endif
/*********************************************************************
	File Path	: DefaultComponent\CodeConfig\LF_EventHandler.h
*********************************************************************/
